﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ArgusLib.Fractals.OrbitFractals
{
	public class MandelbrotSet : MandelbrotSetBase
	{
		public Parameter Parameter { get; set; }

		public MandelbrotSet(Parameter parameter)
			: base(parameter) { }

		protected override IParameterIterations Parameter_get()
		{
			return this.Parameter;
		}

		protected override void Parameter_set(IParameter value)
		{
			base.Parameter_set(value);
			if (!(value is Parameter))
				throw new ArgumentException();
			this.Parameter = (Parameter)value;
		}

		protected override System.Numerics.Complex IterationFormula(System.Numerics.Complex z, System.Numerics.Complex c)
		{
			return z * z + c;
		}
	}
}
